﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Data;
using DataAccess;
using Utility;

namespace Web.giamthi
{
    public partial class UCQuanLySV : System.Web.UI.UserControl
    {
        LopHocControl lhCtr = new LopHocControl();
        SinhVien sv = new SinhVien();
        SinhVienControl svCtr = new SinhVienControl();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                LoadLopHoc();
                DisplayInfo();
            }
        }

        // hiển thị lớp hoc trong combobox
        private void LoadLopHoc()
        {
           foreach(LopHoc lh in lhCtr.GetListLopHoc())
           {
               ddlLop.Items.Add(lh.TenLop + "-" + lh.MaLop.ToString());
           }
           ddlLop.DataBind();
        }

        // hiển thị thông tin 1 sinh viên để update
        private void DisplayInfo()
        {
            if (Request.QueryString["masv"] != null)
            {
                SinhVien g = svCtr.GetSinhVienByMaSV(Request.QueryString["masv"].ToString());
                lblLabel.Text = "Mã sinh viên";
                lblMaSV.Text = g.MaSV;
                txtHoTen.Text = g.Hoten;
                txtDiaChi.Text = g.DiaChi;
                txtDienThoai.Text = g.DienThoai;
                txtEmail.Text = g.Email;
                DateSelect1.CalendarDate = g.NgaySinh.ToString().Split(' ')[0];
                ddlLop.Text = g.LopHoc.TenLop + "-" + g.LopHoc.MaLop.ToString();
                if (g.GioiTinh == false)
                {
                    rdNu.Checked = true;
                    rdNam.Checked = false;
                }
                else
                {
                    rdNu.Checked = false;
                    rdNam.Checked = true;
                }
            }
            else
            {
                clear();
            }
        }

       
        private bool KiemTra()
        {
            bool check = false;
            if (CheckValidate.CheckNull(txtHoTen.Text))
            {
                lblError.Text = "Nhập tên sinh viên !";
                check = false;
            }
            else if (CheckValidate.CheckNull(DateSelect1.CalendarDate))
            {
                lblError.Text = "Nhập ngày sinh !";
                check = false;
            }
            else if (CheckValidate.IsDate(DateSelect1.CalendarDate) == false)
            {
                lblError.Text = "Ngày sinh không hợp lệ !";
                check = false;
            }
            else if (CheckValidate.GetYears(DateTime.Now, Convert.ToDateTime(DateSelect1.CalendarDate)) < 18)
            {
                lblError.Text = "Ngày sinh phải từ 18 tuổi !";
                check = false;
            }
            else if (CheckValidate.CheckNull(txtDienThoai.Text))
            {
                lblError.Text = "Nhập điện thoại !";
                check = false;
            }
            else if (CheckValidate.CheckNull(txtDiaChi.Text))
            {
                lblError.Text = "Nhập địa chỉ !";
                check = false;
            }
            else if (CheckValidate.CheckNull(txtEmail.Text))
            {
                lblError.Text = "Nhập email !";
                check = false;
            }
            else if (!CheckValidate.CheckEmail(txtEmail.Text))
            {
                lblError.Text = "Nhập email không hợp lệ !";
                check = false;
            }
            else
            {
                check = true;
            }
            return check;

        }

        private void clear()
        {
            lblMaSV.Text = svCtr.GenerateMaSV();
            txtHoTen.Text = "";
            txtDiaChi.Text = "";
            txtDienThoai.Text = "";
            txtEmail.Text = "";
            lblError.Text = "";
            DateSelect1.CalendarDate = "";
            lblLabel.Text = "";
        }
        // insert và update sinh viên
        protected void btnLuu_Click(object sender, EventArgs e)
        {
            if (KiemTra() == false)
            {
                return;
            }
            else
            {
                sv.Password = WebHelper.GenerateMD5("123");
                sv.Hoten = txtHoTen.Text;
                sv.NgaySinh = Convert.ToDateTime(DateSelect1.CalendarDate);
                if (rdNu.Checked == false)
                {
                    sv.GioiTinh = false;
                }
                else
                {
                    sv.GioiTinh = true;
                }
                sv.DienThoai = txtDienThoai.Text;
                sv.DiaChi = txtDiaChi.Text;
                sv.Email = txtEmail.Text;
                sv.TrangThai = true;
                sv.MaLop = Int32.Parse(ddlLop.SelectedValue.ToString().Split('-')[1].ToString());
                if (Request.QueryString["masv"] != null)
                {
                    sv.MaSV = lblMaSV.Text;
                    svCtr.UpdateSinhVien(sv);
                }
            
                else
                {
                    sv.MaSV = svCtr.GenerateMaSV();
                    svCtr.InsertSinhVien(sv);
                }
                WebHelper.ShowMessage("Cập nhật thành công !", Page);
                clear();
            }
        }

        protected void btnHuy_Click(object sender, EventArgs e)
        {
            clear();
        }

    }
}